package main

import (
	"fmt"
)

// const 配合 iota实现枚举类型
const (
	BEIJING = iota  // 第一行iota默认值为0，之后每行的iota都会累加1
	SHANGHAI 		
	SHENZHEN
)

// iota后的每一行都和第一次出现iota的表达式相同
const (
	a, b = iota + 1, iota + 2 // iota = 0, a = iota + 1, b = iota + 2, a = 1, b = 2
	c, d					  // iota = 1, c = iota + 1, d = iota + 2, c = 2, d = 3
	e, f					  // iota = 2, e = iota + 1, f = iota + 2, e = 3, f = 4

	g, h = iota * 2, iota * 3 // iota = 3, g = iota * 2, h = iota * 3, g = 6, h = 9
	i, k					  // iota = 4, i = iota * 2, k = iota * 3, i = 8, k = 12
)

func main() {
	// 常量，只读属性
	const length int = 100
	fmt.Println("length = ", length)
	// length = 200 // 常量不允许被修改

	fmt.Println("BEIJING = ", BEIJING)
	fmt.Println("SHANGHAI = ", SHANGHAI)
	fmt.Println("SHENZHEN = ", SHENZHEN)

	fmt.Println("a = ", a, " b = ", b)
	fmt.Println("c = ", c, " d = ", d)
	fmt.Println("e = ", e, " f = ", f)
	fmt.Println("g = ", g, " h = ", h)
	fmt.Println("i = ", i, " k = ", k)


}